/* 
 * File:   PathValidator.h
 * Author: Guilherme Monteiro
 *
 */

#ifndef PATHVALIDATOR_H
#define	PATHVALIDATOR_H

#include <string>
#include <algorithm>

using namespace std;

class PathValidator {
public:
    /**
     * verify for high or low resolutions paths, independent
     * to be for tables or for pages
     */
    enum TYPE_PATH { 
        LOW_PAGE, HIGH_PAGE, LOW_TABLE, HIGH_TABLE
    };
    
    PathValidator();
    PathValidator(const PathValidator& orig);
    virtual ~PathValidator();
    bool validatePathToPages(TYPE_PATH type, string path);
    bool validatePathToTables(TYPE_PATH type, string path);
    bool validateDotDot(string path);
private:
    bool verifyBooks(string path);
};

#endif	/* PATHVALIDATOR_H */

